home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / awe2-0_1.lha / awe2-0.1 / Src / AwesimeHeap.h < prev    next >
C/C++ Source or Header  |  1990-07-09  |  1KB  |  60 lines

  1. // This may look like C code, but it is really -*- C++ -*-
  2. // 
  3. // Copyright (C) 1988 University of Illinois, Urbana, Illinois
  4. // Copyright (C) 1989 University of Colorado, Boulder, Colorado
  5. // Copyright (C) 1990 University of Colorado, Boulder, Colorado
  6. //
  7. // written by Dirk Grunwald (grunwald@foobar.colorado.edu)
  8. //
  9. #ifndef AWESIMEHEAP
  10. #define AWESIMEHEAP
  11. #pragma once
  12.  
  13. #define HEAP_NAME AwesimeHeap
  14. #define HEAP_KEY double
  15.  
  16. #include <Awesime.h>
  17.  
  18. class AwesimeHeapItem {
  19.     Awesime *pPtr;
  20.     double pKey;
  21. public:
  22.     AwesimeHeapItem();
  23.     AwesimeHeapItem(double key, Awesime *p);
  24.     operator<=(AwesimeHeapItem &p);
  25.     Awesime *ptr();
  26.     double key();
  27. };
  28.  
  29. inline Awesime*
  30. AwesimeHeapItem::ptr()
  31. {
  32.     return(pPtr);
  33. }
  34.  
  35. inline double
  36. AwesimeHeapItem::key()
  37. {
  38.     return(pKey);
  39. }
  40.  
  41. inline AwesimeHeapItem::AwesimeHeapItem()
  42. {
  43.     pPtr = 0; pKey = 0;
  44. }
  45.  
  46. inline AwesimeHeapItem::AwesimeHeapItem(double k, Awesime *p)
  47. {
  48.     pPtr = p; pKey = k;
  49. }
  50.  
  51. inline int AwesimeHeapItem::operator<=(AwesimeHeapItem &p)
  52. {
  53.     return ( pKey <= (p.key()) );
  54. }
  55.  
  56. #include <GenericHeap.h>
  57.  
  58. #endif
  59.  
  60.